:: Item Crafting :: System ::


Item Creation


Special thanks goes too RabbitHail for making and coding this wonderful system.

Usage


Item crafting gives the caster classes the ability to create magic items from recipe scrolls, books, or any item with the proper TAG. It also allows the user to create recipes from already existing magic items. This allows PWs, and modules to have full control over what magic items the users can have and create. If you want to introduce a near dynamic economy, don’t let magic items “drop” from monster kills. Only allow kills to drop money and spell scrolls. Have merchants only sell recipe scrolls and then your magic users will have to spend gold and exp to create magic items. This creates a money and exp sink, which will help your PW from having an inflationary economy. The fighters will have to pay the mages to make items. The mages will use spells, feats, money and exp to make items. This will push the mages to work with the fighters in order to get the exp and spells they need to make the items they need to advance to higher levels. This also helps separate the reward system from your areas (in many cases I have seen new areas always giving away better stuff, just to attract players to that area).

Use the read magic cantrip on a magic item. If a magic item is listed in the item_to_ireq.2da file a recipe scroll will be created. Use the proper craft feat on the scroll to start the magic item creation process. Read magic can be used on a recipe scroll to display what item will be created and the required feats need to make that item. Some recipes for very powerful items may require a level 20 mage / level 20 cleric!

Module variables


Int nICHoursInDayCycle // sets the number of hours in a day (default is 1)
Float fICMinDays // sets the minimum number of days an item creation will take (default is .1)
Float fICMaxDays // sets the maximum number of days an item creation will take (default is .2)

NOTE: To all PWs, the above settings are done so for the single player that has no clue how to set module variables, has no reason to wait around while the item is being crafted, and probably won’t even read this file. To have a truly PnP “experience” with item crafting use these settings:

nICHoursInDayCycle = 24;
fICMinDays = 1.0;
fICMaxDays = 1000.0;

Item recipes

Recipes are contained within the prc_craft2da.hak file. Each recipe is its own 2da file. The 2da files are setup just like prestige class prerequisite files. This is the recipe for making the helm of brilliance:

FileName: ireq_helmbril.2da

  LABEL ReqType ReqParam1 ReqParam2
0 Helm_of_Brilliance RESULT x0_armhe012 ****
1 CasterLevel13th CASTERLVL 13 ****
2 Craft_Wondrous_Item_Feat FEAT 2925 ****
3 Light SPELL 62 ****
4 Fire Ball SPELL 100 ****
5 Prismatic_Spray SPELL 135 ****
6 Wall_of_Fire SPELL 191 ****
7 Flame_Lash SPELL 60 ****
8 Protection_from_Elements SPELL 137 ****

NOTE: The numbers in the ReqParam1 field are the line numbers that those things exist on in their respective 2da files. The filename is important because that’s what you must set an items TAG to in order to have it be used by the craft feats to make an item.

ReqType list: const string
sReqTypeResult = "RESULT"; // min
sReqTypeCasterLevel= "CASTERLVL";// min
sReqTypeExtraXP = "EXTRAXP"; // min
sReqTypeExtraGold = "EXTRAGOLD";// min
Increases XP cost as well
 
sReqTypeFeat = "FEAT"; // and
sReqTypeSpell= "SPELL";// and
sReqTypeItem = "ITEM"; // and
sReqTypeSkill= "SKILL";// and
sReqTypeLevel= "LEVEL";// and
 
sReqTypeRace = "RACE"; // or
sReqTypeAlign= "ALIGN";// or
sReqTypeArea = "AREA"; // or
sReqTypeDeity= "DEITY";// or
 
sReqTypeFeatOR = "FEATOR"; // or
sReqTypeSpellOR= "SPELLOR";// or
sReqTypeItemOR = "ITEMOR"; // or
sReqTypeSkillOR= "SKILLOR";// or
sReqTypeLevelOR= "LEVELOR";// or


The item_to_ireq.2da file “The glue that binds”. This file is used to do a reverse binding between a magic item and a recipe. If the recipe and the magic item exist you can place both anywhere into this file so the users of the craft system can use read magic on a magic it to be able to make a recipe. This allows users in single player modules to make recipes for items they come across. This can also be used by a dynamic machine that could create a dialog with all the items in the file and the user would get a recipe from the selection.

  LABEL L_RESREF RECIPE_TAG
0 Arvoreens_Amulet_of_Aid x0_it_mneck005 IREQ_AMULARVR


NOTE: This file is NOT required for the system to run, and may not make sense for PWs to have.